#ifndef _UITABLEVIEWCELL_H_
#define _UITABLEVIEWCELL_H_

#include <QGraphicsItem>
class UITableView;

class UITableViewCellPrivate;
class UITableViewCell : public QGraphicsItem {
    public:
        UITableViewCell (UITableView *tableView);
        ~UITableViewCell();

        UITableView *tableView (void) const;

        QRectF boundingRect (void) const;
        void setBoundingRect (const QRectF& boundingRect);
        void setBoundingRect (qreal x, qreal y, qreal w, qreal h);

        QString text (void) const;
        void setText (const QString& text);

        QColor textColor (void) const;
        void setTextColor (const QColor& color);

        Qt::Alignment textAlignment (void) const;
        void setTextAlignment (Qt::Alignment align);

        int indentationLevel (void) const;
        void setIndentationLevel (int level);

        int indentationWidth (void) const;
        void setIndentationWidth (int width);

    protected:
        virtual void drawRect (QPainter *painter, const QRect& rect);

    public:
        void paint (QPainter *painter, 
                    const QStyleOptionGraphicsItem *option,
                    QWidget *widget = 0);

    private:
        UITableViewCellPrivate *d;
};

#endif /* !_UITABLEVIEWCELL_H_ */

